package com.study.common.utils;


import com.study.common.entity.ResultInfo;
import com.study.common.enumerate.ExceptionInfo;

/**
 * @Author 谭永超 [www.tanyongchao.tk:8090/SumDome/index]
 * @Date 2018/8/21 09:31
 * @Description 返回值工具类
 */
public class ResultUtils<T> {
    // 正常状态
    private static final int NORMAL_STATUE = 1;
    // 异常状态
    private static final int NOT_NORMAL_STATUE = 0;

    /**
     * 表单过滤没有出现异常时
     *
     * @param entityInfo 实体类信息
     * @return com.tan.girl.entity.ResultInfo<T>
     */
    public ResultInfo<T> success(T entityInfo, String info) {
        ResultInfo<T> resultInfo = new ResultInfo<T>();
        resultInfo.setStatue(NORMAL_STATUE);
        resultInfo.setMessage(info);
        resultInfo.setData(entityInfo);
        return resultInfo;
    }

    /**
     * 表单验证没有通过 返回提示信息
     *
     * @param info 提示信息
     * @return com.tan.girl.entity.ResultInfo<T>
     */
    public ResultInfo<T> fail(String info) {
        ResultInfo<T> resultInfo = new ResultInfo<T>();
        resultInfo.setStatue(NOT_NORMAL_STATUE);
        resultInfo.setMessage(info);
        resultInfo.setData(null);
        return resultInfo;
    }

    /**
     * @param exceptionInfo 错误信息枚举 统一错误信息管理
     * @return com.tan.entity.ResultInfo
     */
    public static ResultInfo error(ExceptionInfo exceptionInfo) {
        ResultInfo resultInfo = new ResultInfo();
        resultInfo.setStatue(exceptionInfo.getStatue());
        resultInfo.setMessage(exceptionInfo.getMessage());
        resultInfo.setData(null);
        return resultInfo;
    }

}
